home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / c / dice-3.16.lha / doc / dme.doc < prev    next >
Text File  |  1994-02-13  |  34KB  |  870 lines

  1.  
  2. dme/dme                             dme/dme
  3.  
  4. DME.DOC         DME version 1.45         Matthew Dillon
  5.                July 1991
  6.  
  7. DME, (C)Copyright 1987-90, Matthew Dillon.  All Rights Reserved.
  8. This software may be distributed for non-profit only.  This software is
  9. FREEWARE, not shareware.
  10.  
  11.     Matthew Dillon
  12.     891 Regal Rd
  13.     Berkeley, Ca. 94708
  14.     USA
  15.  
  16.  
  17.     Source is avalable:
  18.  
  19.     (1) By regular mail (send a disk)
  20.     (2) By Electronic mail:
  21.         INTERNET:    uunet.uu.net!overload!dillon        OR
  22.             dillon@overload.Berkeley.CA.US
  23.  
  24.     Donations welcome but not solicited (I ain't a starving artist).
  25.  
  26.     icon by Bryce Nesbitt
  27.  
  28.     text markers and the text-block stack by Kevin Seghetti (some of the new
  29.     commands for 1.30).
  30.  
  31.     AREXX interface (Bill Hawes' ARexx REXX language interpreter) ported
  32.     by Kim DeVaughn
  33.  
  34.     1.42 additions by Markys Wenzel
  35.  
  36. ---------------------------------------------------------------------------
  37.  
  38. 0   Installation
  39. I   Overview
  40. II  Keymapping        key and mouse mapping
  41. III Command Sequences    DME commands
  42. IV  File Particulars    notes on loading and saving files,
  43. V   Workbench Support
  44. VI  Revision Summary    revision numbering, changes made, etc...
  45. VII Compiling        compiling instructions
  46.  
  47.                     0
  48.                    INSTALLATION
  49.  
  50. The NULL: device must be mounted to be able to use the EXECUTE command.
  51. This is so EXECUTE works even if the console window goes away.    Otherwise,
  52. simply put DME in an accessable location (usually C:).  Put the dme.icon
  53. file in the same directory as DME if you want to access the application
  54. from the workbench (dme.icon is not needed if accessed from a CLI or shell).
  55.  
  56. People appear to have problems using the EXECUTE command when DME is run
  57. from the workbench.  I have no solution yet.
  58.  
  59. CONFIGURATION of default window placement, pen selection, and most editor
  60. modes (insert/overwrite, margin, etc...) is accomplished by bringing up
  61. DME, setting it up how you like, then selecting the SAVECONFIG menu
  62. option (saves to s:dme.config).
  63.  
  64.  
  65.                     I
  66.                  OVERVIEW
  67.  
  68. See REVISIONS section for revisions.  DME is an editor designed mainly for
  69. programmers.  Although it is not a word processor, it does include many
  70. word processing features such as Word-Wrap and automatic paragraph
  71. formatting.  Here is a quick 'features' list:
  72.  
  73.     -control language based on a rich command set accessed manually
  74.      or via arbitrary mapping of keys.  (Every key may be mapped to 128
  75.      different things via qualifier and mouse keys)
  76.  
  77.     -General variables, reference macros as variables, ENV: enviroment
  78.      variables (1.30C and beyond).
  79.  
  80.     -fast visual response (it scrolls quickly)... even faster when
  81.      BlitzFonts or similar text speedup utilities are installed.
  82.  
  83.     -title-line statistics showing your current position in the file,
  84.      file name, whether the file has been modified or not, etc...
  85.  
  86.     -Multiple Windows, ability to iconify windows
  87.  
  88.     -Word Wrap and automatic paragraph formatting.
  89.  
  90.     -ability to map any KEY or MOUSE BUTTON combination.
  91.  
  92. DME has been designed to allow easy expansion, and I intend to make many
  93. future improvments.  It has not been designed for user friendliness, but is
  94. straight forward if you read this document [care]fully.
  95.  
  96. AS OF 1.40 and until further notice DME no longer takes command line
  97. arguments other than file arguments, or workbench based window arguments.
  98. DME used to take arguments to specify window dimensions.  Use the saveconfig
  99. command to setup default window parameters.
  100.  
  101. The 1.40-41 Version is an experimental intermediate version, documentation may
  102. not be up to date.
  103.  
  104. Normally, DME will automatically SOURCE two script files, S:.EDRC, and the
  105. .EDRC in your current directory. These files do not have to exist.  These
  106. script files usually contain mappings and do things (for example, turn on
  107. savetabs).
  108.  
  109.  
  110.                     II
  111.                  KEYMAPPING
  112.  
  113. MOUSE BUTTONS:
  114.  
  115.     The mouse buttons and combinations thereof may now be mapped.  The
  116.     default mappings for the mouse buttons are as follows:
  117.  
  118.     Left-button:    Move cursor to current mouse position
  119.     Right-button:   Iconify window
  120.     Left-button held down while moving mouse tracks the cursor
  121.  
  122.     The iconification features:
  123.     -Remembers original window size and placement
  124.     -Remembers placement of iconified window when you re-iconify later.
  125.  
  126.     Currently, you will crash the machine if you run out of memory and DME
  127.     is unable to open the icon window or original window, so be careful.
  128.  
  129.     see below for mapping the mouse buttons and mouse movement.
  130.  
  131.  
  132. KEYBOARD:
  133.  
  134. The rest of the Functional interface for DME is based on key/mouse/menu
  135. mappings and a rich command set.  Unlike other text editors, any
  136. non-qualifier key in DME may be defined to have any meaning whatsoever.  It
  137. just so happens that the default keymappings assign such things as the
  138. (return) key to the RETURN function, the (up) key to the UP function,
  139. etc...    Keys are named by their keycap labels with the following
  140. exceptions:
  141.  
  142.     the name for Back-Space is    BS
  143.     the name for numeric keypad keys are prepended with an NK, except for
  144.     the Enter key which is named 'ENTER'.
  145.     The four cursor control keys are labeled UP, DOWN, LEFT, and RIGHT
  146.     The three mouse buttons are labeled RMB, MMB, and LMB.
  147.  
  148. NOTES:
  149.        You must type commands in lower-case, except for text, which can be
  150.        either lower or upper case, and for upper-case alpha keys when
  151.        specifying keymaps (i.e.  A and s-a are the same key).  The
  152.        exception is the AMIGA qualifier key, which uses 'A' instead of
  153.        'a'(Alt).
  154.  
  155.        Each key may be qualified with any combination of CTRL, ALT, SHIFT,
  156.        AMIGA, or any of the MOUSE buttons.  With 6 qualifiers (7 if your
  157.        mouse has a middle button), you can assign up to 64 (128) different
  158.        maps to each physical key on the keyboard.
  159.  
  160.        The CAPS-LOCK, when lit, is equivalent to SHIFT only for Alpha keys.
  161.  
  162.        The AMIGA-ALT (aA) combination isn't very usable since Intuition
  163.        uses the sequence to duplicate a Mouse SELECT.  Other AMIGA
  164.        sequences are used by intuition for mouse movement and other things.
  165.        Some other qualifier combinations may not be usable due to other
  166.        special sequences.
  167.  
  168.        Some keys must be mapped by their lower-case keycap.  That is, to
  169.        map the '>' key (USA keyboard), you specify shift dot (s-.)
  170.  
  171.  
  172.     ***EXAMPLES:***
  173.  
  174.     tab tab
  175.     a-a ALT a
  176.     A-a AMIGA a
  177.     sA-a    SHIFT AMIGA a
  178.     s-tab    SHIFT tab
  179.     c-tab    CTRL tab
  180.     ac-?    ALT-CTRL ?
  181.     s-f5    SHIFT F5
  182.     nk0 Numeric Keypad 0
  183.     cs-nk0    CTRL SHIFT Numeric Keypad 0
  184.     L-lmb    Left Mouse button pressed
  185.     L-mmove    Mouse moved while left mouse button held down
  186.     LR-lmb    left mouse button hit while right mouse button held down
  187.     s-.     shift . ('>' for USA keyboards)
  188.  
  189.     ***************
  190.  
  191. MAPPING MOUSE BUTTONS
  192.  
  193.     Mouse buttons serve both as QUALIFIERS and as KEYS.  Thus, you can map
  194.     both normal keystrokes which require a mouse button to be held down:
  195.  
  196.     map L-a ((left button and an a))
  197.  
  198.     as well as the mouse keys themselves:
  199.  
  200.     map L-lmb   ((left mouse key))
  201.  
  202.     note that you had to specify the left mouse button down qualifier L as
  203.     well as the left mouse button LMB.
  204.  
  205.     If you map the left mouse button, and also map a sequence such as left
  206.     mouse button + a:
  207.  
  208.     map L-lmb   tomouse
  209.     map L-a     ((hello))
  210.  
  211.     Note that the first mapping will always get executed even if you
  212.     intended L-a (that is, BOTH mappings would get executed).  In order
  213.     to avoid confusion you might want to UNMAP the system default mapping
  214.     for the right mouse button (mapped to ICONIFY) if you wish to apply
  215.     combinations to the right mouse button.
  216.  
  217.     MOUSE MOVEMENT is mapped with one or more mouse qualifiers (L, R, M),
  218.     plus 'MMOVE' for the key.  That is:
  219.  
  220.     map LR-mmove ((moving the mouse with both buttons held down))
  221.  
  222.     Or how bout capping the characters under the mouse while moving the
  223.     mouse?
  224.  
  225.     map LR-mmove (tomouse if cl (tlate -32))
  226.  
  227.  
  228.  
  229. DEFAULT KEYMAPPINGS:
  230.  
  231.     All Printable Ascii keys mapped to their ascii equivalent. BS, DEL, UP,
  232.     DOWN, LEFT, RIGHT, TAB, S-TAB, and ENTER are mapped properly.  These are
  233.     the default system keymappings.
  234.  
  235.  
  236.     map (a-c)       (bcopy)
  237.     map (a-d)       (bdelete)
  238.     map (a-down)